package com.hys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hys.entity.CoopInfo;
import com.hys.param.CooperAddOrUpdateParam;
import com.hys.param.CooperationPageParam;
import com.hys.vo.CooperInfoVO;
import com.hys.vo.CooperationPageVO;
import com.hys.vo.FileImageVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public interface CoopInfoService extends IService<CoopInfo> {

    /**
     * 分页列表
     * @param cooperationPage
     * @return
     */
    IPage<CooperationPageVO> page(CooperationPageParam cooperationPage);

    /**
     * 增加删除
     * @param cooperIds
     */
    void delete(List<Integer> cooperIds);

    /**
     * 新增
     * @param addOrUpdateParam
     */
    void add(CooperAddOrUpdateParam addOrUpdateParam);

    /**
     * 合作信息
     * @param id
     * @return
     */
    CooperInfoVO info(Integer id);

    /**
     * 文件上传
     * @param file
     * @return
     */
    FileImageVO upload(MultipartFile file);

    /**
     * 更新操作
     * @param addOrUpdateParam
     */
    void update(CooperAddOrUpdateParam addOrUpdateParam);

    /**
     * 下载操作
     * @param cooperationPage
     */
    void download(CooperationPageParam cooperationPage, HttpServletResponse response);

    /**
     * excel导入
     * @param file
     */
    void toLead(MultipartFile file) throws IOException;

}
